<?php
include_once("../inc/common.php");

// Controle de acesso //////////////////////////////////////////////
Security::verifyUser("");

// Conexão com o banco de dados ////////////////////////////////////
$conn = new db();
$conn->open();

// Limpa ordenação e filtro ////////////////////////////////////////
Session::clearFilter();

// Salva status da página atual ////////////////////////////////////
$same_page = Session::handleCurrentPage();

// Ordenação ///////////////////////////////////////////////////////
$iSort = Param::get("Sorting");
$iSorted = Param::get("Sorted");
$form_sorting = "";
if ((!$iSort) && (!$same_page)) {
	$form_sorting = "";
	$iSort = 2; // Coluna que será ordenada
	$iSorted = ""; // Se for descendente, repita o valor
}
if ($iSort) {
	if ($iSort == $iSorted) {
		$form_sorting = "";
		$sDirection = " DESC";
		$sSortParams = "Sorting=" . $iSort . "&Sorted=" . $iSort . "&";
	} else {
		$form_sorting = $iSort;
		$sDirection = " ASC";
		$sSortParams = "Sorting=" . $iSort . "&Sorted=" . "&";
	}

	if ($iSort == 2)
		Session::set("sOrder", " order by txt_nome" . $sDirection);
	if ($iSort == 3)
		Session::set("sOrder", " order by txt_email" . $sDirection);
}

// Construção da pesquisa //////////////////////////////////////////
if (Param::get("executed") == "s") {
	$where = "";
	if (Param::get("f_nome") != "")
		$where .= "AND txt_nome LIKE '%" . Param::get("f_nome") . "%'";
	Session::set("where", $where);
}

// Expressão SQL que define a lista ////////////////////////////////
$sql = "SELECT * FROM instrutor WHERE 1=1 " . Session::get("where") . Session::get("sOrder");

// Criação do resultset ////////////////////////////////////////////
$rs = new query($conn, $sql, Paging::getPage(), LISTA_QTDE_REGISTROS);

// Deck de botões //////////////////////////////////////////////////
$button = new Button();
$button->add("btnNovo", "Novo");
$button->add("btnPesquisar", "Pesquisar");
$button->add("btnExcluir", "Excluir");

// Formulário de pesquisa //////////////////////////////////////////
$form = new Form("frmSearch", "../mod_instrutor/instrutor-lista.php", "post");
$form->addHidden("executed", "s");
$form->addField("Nome do instrutor: ", Field::text("f_nome", "", 50, 50));

// Lista de dados //////////////////////////////////////////////////
$table = new Table("lista", 3);
$table->addCheckboxColumnHeader();
$table->addColumnHeader("Instrutor", true, "50%", "L"); // Título, Ordenar?, Largura, Alinhamento
$table->addColumnHeader("E-mail", true, "50%", "L");

while ($rs->getrow()) {
	$id = $rs->field("id_instrutor");

	$linkEdicao = new Link($rs->field("txt_nome"), "../mod_instrutor/instrutor-edicao.php", "Clique para editar o registro");
	$linkEdicao->addParameter("id", $id);
	$linkEdicao->addParameter("page", Paging::getPage());

	$table->addCheckboxData($id);
	$table->addData($linkEdicao->getLink());
	$table->addData($rs->field("txt_email"));
}
?>
<!DOCTYPE html>
<html>
    <head>
		<?php
		Element::headBlock();
		?>
		<script type="text/javascript">
			$(document).ready(function(){
				$("#btnNovo").click(function() {
					location = "../mod_instrutor/instrutor-edicao.php";
				});

				$("#btnPesquisar").click(function() {
					$("#frmSearch").attr("action","../mod_instrutor/instrutor-lista.php");
					$('#frmSearch').submit();
				});

				$("#btnExcluir").click(function() {
					if (confirm('Confirma exclusão dos instrutores selecionados?')) {
						$("#lista").attr("action","../mod_instrutor/instrutor-controller.php?action=excluir");
						$("#lista").submit();
					}
				});

				$("#f_nome").focus();

				Buttons.mapEnterKey("btnPesquisar");

			});
		</script>
    </head>
    <body>
		<div id="container">
			<?php Element::header("Lista de Instrutores"); ?>
			<div id="acoes"><?php $button->writeHTML(); ?></div>
			<div id="dados">
				<?php
				Messages::handleMessages();
				$form->writeHTML();
				Paging::writeLinks($rs->totalpages());
				Session::writeWhereStatus();
				if ($rs->numrows() > 0) {
					$table->writeHTML();
					Paging::writeStatus($rs->totalpages());
				} else {
					Paging::writeStatusIfEmpty();
				}
				?>
			</div>
		</div>

    </body>
</html>
<?php
// Fecha conexão ///////////////////////////////////////////////////
$conn->close();
?>